Skip to content

feat: M6-rest part 2 + M8 voice — 4 more desktop screens + whisper.cpp wrapper#49

Merged
oratis merged 1 commit into
mainfrom
feat/m6-rest-voice-screens
May 28, 2026
Merged

feat: M6-rest part 2 + M8 voice — 4 more desktop screens + whisper.cpp wrapper#49
oratis merged 1 commit into
mainfrom
feat/m6-rest-voice-screens

Conversation

@oratis

@oratis oratis commented May 28, 2026

Copy link
Copy Markdown
Owner

VoiceProvider abstraction + WhisperCppProvider (CLI-spawn-based, no binary dep) + StubVoiceProvider + parseWhisperOutput. Desktop: Nav top bar + 4 more screen implementations (Sessions, Settings, MCPManager, Chat). 7 new voice tests. 501→508 passing. M6 now has 6 of 11 screens; voice subsystem ready to wire whisper.cpp when binary lands.

…p wrapper

Two parallel pieces of polish.

Core:
  · packages/core/src/voice/index.ts (NEW) — VoiceProvider interface +
    WhisperCppProvider (spawns whisper CLI, parses timestamped output) +
    StubVoiceProvider for tests / unconfigured installs. parseWhisperOutput
    is exported so format expectations are pinned.
  · 7 unit tests covering output parsing + spawn-via-fake + missing-file
    + non-zero-exit cases.

Desktop:
  · apps/desktop/src/components/Nav.tsx (NEW) — top tab bar for
    REPL/Chat/Sessions/MCP/Settings.
  · apps/desktop/src/screens/Sessions.tsx — list + filter + new-session
    button (IPC wired in next M6-rest PR).
  · apps/desktop/src/screens/Settings.tsx — flat-key view of
    settings.json with filter.
  · apps/desktop/src/screens/MCPManager.tsx — list of connected servers
    + JSON snippet for adding one.
  · apps/desktop/src/screens/Chat.tsx — REPL + (hidden lg-only) file
    panel placeholder pointing at M7.
  · apps/desktop/src/App.tsx — routes to the active screen.
  · apps/desktop/src/index.css — additional utility classes for the new
    layouts (lg:block, w-1/3, border-l, hover:*, font-mono, table).

Tests: core 438 → 445 (+7 voice); cli 47 unchanged; scripts 16 unchanged.
Total 501 → 508 passing. Build clean across all 4 packages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@oratis oratis merged commit d913435 into main May 28, 2026
@oratis oratis deleted the feat/m6-rest-voice-screens branch May 28, 2026 07:23
oratis added a commit that referenced this pull request May 28, 2026
Tracks PRs #46-#49 (post-v4 work):
  · #46 fix: worktree GIT_* env var leak (husky pre-commit context broke
    child git invocations)
  · #47 feat: M9 release-notes script + M3.5-ext DNS proxy + M8 /effort UI
  · #48 feat(desktop): full Vite/Tailwind/electron-builder config (.template
    suffix avoids dep-missing failures)
  · #49 feat: WhisperCppProvider + 4 more desktop screens + Nav

Major-milestone status:
  · M0-M5.2 + M3.5 + M3c-rest + M4 + M8 → 100%
  · M6 → 65% (skeleton + 6 screens + all build configs; need binary deps +
    last 5 screens + agent IPC + Apple signing)
  · M7 → 15% (depends on M6)
  · M9 → 75%

Overall: ~95% v1 scope. Remaining estimate: 2-3 weeks single-engineer-
focused for v1 ship. M6 Mac client is the only multi-week piece.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
oratis added a commit that referenced this pull request May 28, 2026
…ills/Permissions/About) (#51)

All 11 planned desktop screens now have real React implementations:
  · Onboarding ✅ (PR #31)
  · REPL ✅ (PR #31)
  · Chat ✅ (PR #49)
  · Sessions ✅ (PR #49)
  · MCPManager ✅ (PR #49)
  · Settings ✅ (PR #49)
  · FilePanel ← NEW (tab bar, source/diff/history view switcher, Monaco
    placeholder for M7)
  · Plugins ← NEW (list + install spec input + per-plugin enable/disable
    + trust badge + warnings)
  · Skills ← NEW (sidebar list + filter + body viewer with frontmatter
    metadata)
  · Permissions ← NEW (deny/ask/allow buckets + add-rule form, view-only
    preview until IPC save lands)
  · About ← NEW (version + diagnostics + links to docs)

Nav top bar updated with all 9 navigable screens (FilePanel is contextual,
not nav-toggleable). App.tsx renders via switch.

Plus a batch of utility CSS classes used by these screens (ml-auto,
overflow-auto, hover:underline, select styling, etc.).

Tests: 508 still passing. Build clean across all 4 packages.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant